//
//  ViewPropertyViewController.swift
//  DemoProject
//
//  Created by hao on 2018/7/18.
//  Copyright © 2018年 hao. All rights reserved.
//

import UIKit

class ViewPropertyViewController: BaseTableViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        setupData()
    }
    
    private func setupData() {
        let titles = ["alpha",
                      "clipsToBounds",
                      "hidden",
                      "userInteractionEnabled",
                      "tag",
                      "exclusiveTouch",
                      "frame",
                      "center",
                      "bounds",
                      "transform (CGAffineTransform)",
                      "superview",
                      "window",
                      "autoresizesSubviews",
                      "autoresizingMask",
                      "contentMode",
                      "backgroundColor",
                      "UIView常用添加子视图方法"]
        
        let descArr = ["""
                        设置视图的透明度.默认为1.
                        // 完全透明
                        view.alpha = 0;
                        // 不透明
                        view.alpha = 1;
                       """,
                       """
                        // 默认是NO，当设置为yes时，超出当前视图的尺寸的内容和子视图不会显示
                        view.clipsToBounds = YES;
                       """,
                       """
                        // 默认是NO，当设置为yes，视图就不可见了
                        view.hidden = YES;
                       """,
                       """
                        // 默认为YES，如果设置为No，view就不能和用户交互了。（即不能响应事件）
                        view.userInteractionEnabled = NO;
                       """,
                       """
                        // 默认为0，用来标记视图
                        view.tag = 0;
                       """,
                       """
                        默认为NO
                        exclusiveTouch的意义在于：如果当前设置了exclusiveTouch的UIView是整个触摸事件的第一响应者，那么到你所有的手指离开屏幕前其他的UIView是无法接受到整个事件周期内所有的触摸事件
                       """,
                       """
                        1> 表示控件的位置和尺寸（以父控件的左上角为坐标原点（0, 0））
                        2> 修改这个属性，可以调整控件的位置和尺寸
                       """,
                       """
                        1> 表示控件的中点（以父控件的左上角为坐标原点）
                        2> 修改这个属性，可以调整控件的位置
                       """,
                       """
                        1> 表示控件的位置和尺寸（以自己的左上角位坐标原点，位置永远是(0, 0)）
                        2> 修改这个属性，只能调整控件的尺寸
                       """,
                       """
                        1> 表示控件的形变状态（旋转角度、缩放比例）
                        2> 创建CGAffineTransform的函数
                        * CGAffineTransformMakeScale(CGFloat sx, CGFloat sy)
                        创建一个x、y方向的缩放比例分别为sx、sy的形变值

                        * CGAffineTransformMakeRotation(CGFloat angle)
                        创建一个旋转角度为angle的形变值

                        * CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy)
                        在形变值t的基础上，再进行缩放，x、y方向的缩放比例分别为sx、sy，然后返回一个新的形变值

                        * CGAffineTransformRotate(CGAffineTransform t, CGFloat angle)
                        在形变值t的基础上，再进行旋转，旋转角度为angle，然后返回一个新的形变值
                       """,
                       "返回当前视图的父视图。（只读）",
                       """
                        返回当前视图的窗口。（窗口）
                        获取根视图的superview和window时，需要注意，在viewdidload中是获取不到的，viewdidload只是视图加载完成，并没有添加到窗口中，因此需要在viewDidAppear方法中才能获取到。那时候视图才被添加到窗口中。
                       """,
                       "默认为YES，表示当父视图尺寸改变时，子视图也会随着改变",
                       "默认为UIViewAutoresizingNone,不会自动伸缩",
                       """
                        设置内容模式。
                        UIViewContentModeScaleToFill  不按照原宽高比例（长和宽不等比例增长）以任意比例填充。这样视图不会有空白，且内容可以全部显示。
                        UIViewContentModeAspectToFill  按照原长宽比例填充，不完全显示全部内容。这样内容可能溢出，但整个视图不会留有空白。
                        UIViewContentModeAspectToFit   按照原长宽比例（长和宽等比例增长），完全显示全部内容。这样容易照成左右或者上下留有空白
                       """,
                       """
                        默认是nil。
                        // 设置背景颜色为红色
                        self.view.backgroundColor = [UIColor redColor];
                       """,
                       """
                        //加一个视图到一个视图里面
                        addSubview:
                        //将一个视图移到前面
                        bringSubviewToFront:
                        //将一个视图推送到背后
                        sendSubviewToBack:
                        //把视图移除
                        removeFromSuperview
                        //插入视图 并指定索引
                        insertSubview:atIndex:
                        //插入视图在某个视图之上
                        insertSubview:aboveSubview:
                        //插入视图在某个视图之下
                        insertSubview:belowSubview:
                        //交换两个位置索引的视图
                        exchangeSubviewAtIndex:withSubviewAtIndex:
                       """]
        
        addTitles(titles, footDescs: descArr)
    }

}
